import axios from "axios";

/**
 * 文件下载工具类
 *
 * @param fileName 远程文件名
 * @param originalName 下载来的文件名
 */
export function downloadFileToMinio(fileName, originalName) {
  return axios.get(`http://127.0.0.1:8080/file/download/${fileName}`, {
    responseType: 'blob' //  必须设置为 blob 才能接收文件流
  }).then(res => {
    // 创建一个 Blob 对象，类型为文件流
    const blob = new Blob([res.data]);

    // 创建一个临时链接，并触发下载
    const downloadUrl = window.URL.createObjectURL(blob);
    const link = document.createElement('a');
    link.href = downloadUrl;
    link.setAttribute('download', originalName); // 设置下载时的文件名
    document.body.appendChild(link);
    link.click(); // 模拟点击
    link.remove(); // 移除元素
    window.URL.revokeObjectURL(downloadUrl); // 释放内存
  }).catch(err => {
    console.error("下载失败", err);
    alert("下载失败，请重试");
  })
}

/**
 *
 * @param fileName 删除上传了的文件（远程的文件名）
 */
export function deleteFileToMiono(fileName) {
  return axios.delete(`http://127.0.0.1:8080/file/delete/${fileName}`)
}
